﻿.pragma library

function random(n1,n2) {
    if(n1 == n2)
        return n1;
    else if(n2 < n1)
    {
        n1=n1+n2;
        n2=n1-n2;
        n1=n1-n2;
    }
    return n1 + Math.round((n2-n1) * Math.random());
}

function randTarget(n, m) {		//	m分之n
    if(n > m || n < 0)return -1;	//不符合
    if(Math.random() < n / m)return 1;	//命中
    return 0;
}



///<summary>获得字符串实际长度，中文2，英文1</summary>
function strlen(str) {
    var l = str.length;
    var blen = 0;
    for(var i = 0; i < l; i++) {
        if ((str.charCodeAt(i) & 0xff00) != 0) {
            blen ++;
        }blen ++;
    }
    return blen;
}

function strlen1(str) {
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128)
            realLength += 1;
        else
            realLength += 2;
    }
    return realLength;
}

function strlen2(str) {
    return str.replace(/[\u0391-\uFFE5]/g,"aa").length;
    //先把中文替换成两个字节的英文，在计算长度
}

function strUnicodeCount(str) {
    var l = str.length;
    var blen = 0;
    for(var i = 0; i < l; i++) {
        if ((str.charCodeAt(i) & 0xff00) != 0) {
            blen ++;
        }
    }
    return blen;
}

function strAscCount(str) {
    var l = str.length;
    var blen = 0;
    for(var i = 0; i < l; i++) {
        if ((str.charCodeAt(i) & 0xff00) == 0) {
            blen ++;
        }
    }
    return blen;
}
